﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Microsoft.VisualBasic;
using ERP_RORZE_DLL.Product.database;
using ERP_RORZE_DLL.Product;
using ERP_RORZE_DLL.Product.DAO;

namespace ERP_RORZE.Product.MO
{
    public partial class ctrlMOStart : DevExpress.XtraEditors.XtraUserControl
    {
        ClsBusOderDAO clsBusOderDAO = new ClsBusOderDAO();
        DataTable dt;
        ClsBusOderTable b = new ClsBusOderTable();
        ClsMOTable obj = new ClsMOTable();
        ClsMOTable MO = new ClsMOTable();
        ClsMOOptionTable MOO = new ClsMOOptionTable();
        ClsOptionDataTable odt = new ClsOptionDataTable();
        ClsMODAO clsMODAO = new ClsMODAO();

        private string DK1;
        private string DK2;
        private string DK3;
        private string DK4;
        private string DK5;

        public ctrlMOStart()
        {
            InitializeComponent();
        }

        private void cbMONo_SelectedIndexChanged(object sender, EventArgs e)
        {
            ClsMOTable obj = ((ClsMOTable)cbMONo.SelectedItem);
            txtPartNo.Text = obj.PartID.ToString();
            txtQuantity.Text = obj.MOQty.ToString();
            dateStartDate.Value = DateTime.Parse(obj.Startdate.ToString());
            checkStarted.Checked = bool.Parse(obj.Started.ToString());

            string i = txtPartNo.Text.Substring(txtPartNo.Text.Length - 2,2);
            if (i == "+I")
            { 
                DK1 = "UI";
                DK2 = "ZI";
                DK3 = "ZI";
                DK4 = "ZI";
                DK5 = "ZI";
            }
            else if (i == "+P")
            {
                DK1 = "UI";
                DK2 = "XO";
                DK3 = "YI";
                DK4 = "ZI";
                DK5 = "ZI";
            }
            else if (i == "+R")
            {
                DK1 = "XU";
                DK2 = "ZI";
                DK3 = "ZI";
                DK4 = "ZI";
                DK5 = "ZI";
            }
            else if (i == "+B")
            {
                DK1 = "XB";
                DK2 = "XU";
                DK3 = "XV";
                DK4 = "ZI";
                DK5 = "ZI";
            }
            else if (i == "+H")
            {
                DK1 = "XL";
                DK2 = "XU";
                DK3 = "XV";
                DK4 = "ZI";
                DK5 = "ZI";
            }
            else if (i == "+A")
            {
                DK1 = "XH";
                DK2 = "UI";
                DK3 = "YI";
                DK4 = "XO";
                DK5 = "XO";
            }
            else if(i == "+F")
            {
                DK1 = "UI";
                DK2 = "YI";
                DK3 = "XU";
                DK4 = "ZI";
                DK5 = "ZI";
            }
            else if(i == "+K")
            {
                DK1 = "XL";
                DK2 = "XU";
                DK3 = "XV";
                DK4 = "XB";
                DK5 = "ZI";
            }
            else if(i == "+M")
            {
                DK1 = "XU";
                DK2 = "XU";
                DK3 = "XU";
                DK4 = "XU";
                DK5 = "XU";
            }
            else 
            {
                DK1 = "AA";
                DK2 = "AA";
                DK3 = "AA";
                DK4 = "AA";
                DK5 = "AA";
            }
        }

        private void ctrlMOStart_Load(object sender, EventArgs e)
        {
            dt = clsMODAO.GetAllMOStart();
            List<ClsMOTable> objs = new List<ClsMOTable>();
            foreach (DataRow r in dt.Rows)
            {
                ClsMOTable obj = new ClsMOTable();
                obj.MONo = r["MONo"].ToString();  //
                obj.PartID = r["PartID"].ToString();  //
                obj.MOQty = int.Parse(r["MOQty"].ToString());   ////
                obj.Startdate = (DateTime)r["Startdate"];
                obj.Started = bool.Parse(r["Started"].ToString());     ////
                objs.Add(obj);
            }

            cbMONo.DataSource = objs;
            cbMONo.DisplayMember = "MONo";
        }

        private void btnStart_Click(object sender, EventArgs e)
        {
            odt.PartID = txtPartNo.Text;
            dt = clsMODAO.GetOptionDataByMONo(odt);
            int i = 0;
            foreach (DataRow r in dt.Rows)
            { 
                i++;
            }
            if(i>0)
            {
                MessageBox.Show("Dữ liệu đã có trong Optiondata. Hãy kiểm tra lại");
            }
            else if (checkStarted.Checked == true)
            {
                MessageBox.Show("Đơn hàng này đã bắt đầu rồi. Hãy kiểm tra lại");
            }
            else
            {
                //ClsMOMaterialTable MOM = new ClsMOMaterialTable();
                //clsMODAO.InsertMOOptionAdd(cbMONo.Text, DK1, DK2, DK3, DK4, DK5);
                //MessageBox.Show("Nhập dữ liệu vào MOOption xong");
                //MOM.MONo = cbMONo.Text;
                //clsMODAO.MOMaterialAppend(MOM);
                //MessageBox.Show("nhập dữ liệu vào MOMaterial xong");
                //MO.MONo = cbMONo.Text;
                //MO.Startdate = dateDate.Value;
                //MessageBox.Show("cập nhập dữ liệu vào MO xong");
                ClsBusOderTable bt = new ClsBusOderTable();
                bt.MONo = cbMONo.Text;
                clsMODAO.UpDateBusoderMOStart(bt);
                MessageBox.Show("cập nhập dữ liệu vào Busoder xong");
            }
        }
    }
}
